MovieClipLoader.onLoadProgress

Доступность

Flash Player 7.

Синтаксис

listenerObject.onLoadProgress = 
  function([target_mc:Object [, loadedBytes:Number [, totalBytes:Number ] ] ] ) {
  //код
}

Параметры

listenerObject Объект-слушатель событий (listener), добавленный при помощи MovieClipLoader.addListener().

target_mc Клип, загруженный методом MovieClipLoader.loadClip(). Необязательный параметр.

loadedBytes Число байт, загруженных на момент вызова обработчика.

totalBytes Общее число байт в загружаемом файле.

Возвращает

Ничего.

Описание

Listener; вызывается каждый раз когда загружаемая информация записывается на диск в процессе загрузки (т.е. между MovieClipLoader.onLoadStart и MovieClipLoader.onLoadComplete). Вы можете использовать этот метод для отображения процесса загрузки с помощью параметров loadedBytes и totalBytes parameters.

Значение target_mc указывает на клип, для которого был применен вызов метода. Этим параметром удобно пользоваться при загрузке нескольких файлов с одним и тем же набором listener'ов. Этот необязательный параметр передается в код функции.

Пример

В этом примере с помощью методов Drawing API создается "градусник" (progress bar), который отображает процесс загрузки изображения с помощью обработчика onLoadProgress. По завершении загрузки progress bar удаляется со сцены. Необходимо заменить параметр URL-адреса изображения в _mcl.loadClip() так, чтобы он ссылался на реальный файл, используя HTTP. Если попытаться использовать этот пример для загрузки файла с локального диска, то он не будет работать, поскольку в режиме тестирования клипа flash player грузит локальные файлы сразу целиком. Поместите приведенный код в FLA или AS файл:

this.createEmptyMovieClip("progressBar_mc", 0);
progressBar_mc.createEmptyMovieClip("bar_mc", 1);
progressBar_mc.createEmptyMovieClip("stroke_mc", 2);
with (progressBar_mc.stroke_mc) {
  lineStyle(0, 0x000000);
  moveTo(0, 0);
  lineTo(100, 0);
  lineTo(100, 10);
  lineTo(0, 10);
  lineTo(0, 0);
}
with (progressBar_mc.bar_mc) {
  beginFill(0xFF0000, 100);
  moveTo(0, 0);
  lineTo(100, 0);
  lineTo(100, 10);
  lineTo(0, 10);
  lineTo(0, 0);
  endFill();
  _xscale = 0;
}
progressBar_mc._x = 2;
progressBar_mc._y = 2;
//
var mclListener:Object = new Object();
mclListener.onLoadStart = function(target_mc:MovieClip) {
  progressBar_mc.bar_mc._xscale = 0;
};
mclListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
  progressBar_mc.bar_mc._xscale = Math.round(bytesLoaded/bytesTotal*100);
};
mclListener.onLoadComplete = function(target_mc:MovieClip) {
  progressBar_mc.removeMovieClip();
};
mclListener.onLoadInit = function(target_mc:MovieClip) {
  target_mc._height = 320;
  target_mc._width = 240;
};
this.createEmptyMovieClip("image_mc", 100);
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);
image_mcl.loadClip("[place a valid URL pointing to a JPEG file here]", image_mc);

См. также

MovieClipLoader.getProgress()